System and method for ensuring a device uses the correct instance of a network service

ABSTRACT

A system and method are provided for ensuring access to the correct instance of a network service. The system includes a plurality of management domains. Each management domain may include at least one server and at least on managed device. When the managed device sends a request for a network service, the request may be received by all servers in the network, including those belonging to different management domains. As such, each server may include a referral list. When the server receives a request, the server may determine whether its management domain includes the appropriate instance of the network service. If it does not, it may forward the request to other servers in the referral list until the appropriate network service is identified.

FIELD OF THE INVENTION

The invention relates to a system and method for ensuring the correct instance of a network service is used where multiple instances exist in a service broadcast environment.

BACKGROUND OF THE INVENTION

Many corporate information technology (IT) departments use resource management products to ease the cost and burden of managing large numbers of computing devices. Within these resource management products, managed devices are usually assigned a unique identity.

Some work may be performed by the managed devices in conjunction with a network service. In some instances, the device may be told the location of the required service. In other instances, the device must discover the network service.

Some network resources may only be discovered through a response to a broadcast request. When only one resource management product exists on the network, and it has only a single management domain, the managed device is free to discover and use any instance of the required network service.

Problems often arise when there are multiple management domains within a network. For example, the managed device can not be guaranteed that the instance of the network service responding to its broadcast request is the correct instance of the service. If the managed device chooses the incorrect instance of the network service, the results may be unpredictable. The odds of selecting the correct instance of the network service diminish as the number of management domains rise.

Other problems and drawbacks exist in current resource management environments.

SUMMARY OF THE INVENTION

A system and method for ensuring the correct instance of a network service is used where multiple instances exist is provided. The system may include a plurality of management domains. Each management domain may include at least one managed device and at least one server.

The managed device may include a service determination module and a resource utilization module. The service determination module may be configured to locate the network service by generating a network service request query. The resource utilization module may be configured to receive and implement the requested network service

Each server may include instances of a plurality of network services. As such, each server may include a network services management module configured to determine whether it includes the instance of the network service required by the requesting device. Each server may further comprise a referral list which provides information about the other servers in the network. The referral list may be used to forward network service request received by a server that does not include the correct instance of the network service.

A managed device may issue a request for a network service. The request may be a broadcast request and may be received by all servers within the network, including those servers belonging to a different management domain.

When a server receives the request, the server may determine whether the request includes identity information. If the request does not include identity information, a general response may be provided to the requesting device requiring additional information.

If identity information is included, the server may determine whether its management domain is identified. If its management domain is identified, the server may provide the network service to the requesting device. If the receiving server's management domain is not identified, the request may be forwarded to one or more other servers identified in the referral list.

Once the appropriate server and network service instance has been identified, the receiving server may forward a response to the requesting device. The response may provide the requesting device with information identifying its appropriate server, and instructions to contact the appropriate server with future requests.

According to some embodiments of the invention, a dedicated server may be used to respond to all requests for network services. In other embodiments, all servers in the network may receive and respond to broadcast requests for network services.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A depicts a system for ensuring access to the correct network service, in accordance with various embodiments of the invention.

FIG. 1B depicts a server for providing the correct instance of a network service, in accordance with various embodiments of the invention.

FIG. 2 depicts a managed device for requesting a network service, in accordance with various embodiments of the invention.

FIG. 3 depicts a process for providing access to a network service, in accordance with various embodiments of the invention.

FIG. 4 depicts a system for ensuring access to the correct network service, in accordance with various embodiments of the invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In accordance with various disclosed embodiments, a system and method are provided for ensuring that the correct instance of a network service is selected and used where multiple instances exist. As described above, multiple management domains often exist within a network. As such, a managed device may not receive a response from the appropriate instance of a network service when issuing a broadcast request. However, by making each instance of a network service aware of all other instances, the invention seeks to ensure that a managed device is referred to the appropriate instance of the network service.

Consistent with these embodiments, FIG. 1A depicts system 100 comprising a plurality of management domains 110 a-n . Each management domain 110 n may include one or more managed devices 120 a-n communicatively coupled to one or more servers 130 a-n. Management domains 110 n may be a part of the same network. As such, management domains 110 n may be communicatively coupled to each other over a network, as shown.

Managed device 120 n may be any computer device capable of communications over a network. For example, managed device 120 n may be a laptop computer, desktop computer, handheld electronic device, or any other network enabled computer device. Managed device 120 n may be configured to issue requests for network services. Network services may include, for example, network boot options, addressing information, and/or other network services. Server 130 n may be configured to receive the network service request from managed network device 120 n and to provide network service information to managed device 120 n.

Managed device 120 n may be assigned a unique identity, such as a unique name or number. Work to be performed by managed device 120 n may be assigned and administered by server 130 n in conjunction with a network service.

Each server 130 n may include an instance of one or more network services 132 n, as depicted in FIG. 1B. Accordingly, each server 130 n may be equipped with a network services management module 134 n. Network services management module 134 n may be configured to determine whether the server receiving a network service request includes the correct instance of the network service needed by the requesting device. Each server 130 n may be aware of the existence of other services. As such, server 130 n may maintain a referral list 136 n providing information about the other servers in the network

In some embodiments of the invention, managed device 120 n may be directly informed of the required network service. In other embodiments of the invention, managed device 120 n must discover the network service. Some network services may be discovered by issuing a broadcast request.

Accordingly, managed device 120 n may include one or more modules for facilitating the request for, and receipt of, service information. As depicted in FIG. 2, managed device 120 n may include a service determination module 222 and a resource module 224. According to some embodiments of the invention, service determination module 222 and resource utilization module 224 may be implemented as software modules.

Service determination module 222 may be configured to locate a desired network service by generating a service request query. The query may include identity information according to some embodiments of the invention. In other embodiments, no identity information is included. The service request query may be issued automatically upon startup of the managed device. Resource utilization module 224 may be configured to receive responses from the broadcast request and to access the determined network service.

Referring now to FIG. 3, a process 300 is illustrated for providing managed device 120 n with the appropriate instance of a network service. As depicted at 302, a request for a network service may be received. The request may be a broadcast request from managed network device 120 n. As such, the broadcast request may be received by a plurality of servers located in a plurality of management domains within the network. Each server may include an instance of the desired network service and may maintain a list of information about other instances, which may be associated with other management domains.

As described above, each management domain 110A-110N may include an instance of a network service responsible for communicating with its managed device. However, broadcast messages sent from one of the managed devices will be received by not only the servers within the same management domain, but also those servers in other management domains. As such, each server should be able to determine whether it is the appropriate server to provide the requested network service.

As depicted at 304, a receiving server may determine whether or not the received request includes identity information. Identity information may include, for example, a name or other unique identifying attribute associated with the managed device, indicia indicating membership in a particular management domain, and/or other identity information.

If the request does not include identity information and the receiving server is unable to otherwise determine whether the request refers to its management domain, a default action, as depicted at 306. According to some embodiments of the invention, the default action may be a request to obtain additional information, as depicted at 306. In other embodiments, the correct service instance may be determined by secondary criteria, such as a network address, amount of memory, and/or other parameters that may be detected at runtime.

If the request includes identity information, the receiving server is able to determine whether it should provide the requested network service, as depicted at 308. Each management domain may include one or more servers. Any server within the management domain may respond to a requesting device with the correct instance of a network service. As such, the receiving server may refer to the identity information provided in the request to determine whether its management domain is identified.

If identity information exists in the request and it refers to the management domain of the receiving server, the server may respond to the broadcast request by providing the requested network service, as depicted at 310. However, if the identity information does not refer to the management domain of the receiving server, the receiving server may forward the request to other servers in its referral list, as depicted at 312.

As noted above, each server 130 n may include a referral list. The referral list provides information about other servers in the network which may be located in other management domains. According to some embodiments of the invention, identity information may include the name of the management domain to which the requesting device belongs. As such, the request may be forwarded directly to the identified management domain. In other embodiments, the identify information does not identify a specific management domain. According to those embodiments of the invention, a receiving server forwards the request to each server listed in its referral list until the appropriate server is identified, as depicted at 314.

If none of the servers in the list respond favorably to the request by indicating that the requesting device belongs to their management domain, the server forwarding the request may then respond to the requesting device that no work is available, as depicted at 318. If, however, a favorable response is received, the response may be forwarded to the requesting device, as depicted at 316. According to some embodiments of the invention, instructions to the requesting device to contact the appropriate server for future requests may be forwarded to the requesting device. In other embodiments, the receiving server may act as a proxy, facilitating the exchange of network service information between the managed device and the server.

As described above, a management domain may contain multiple servers which may be used to provide the appropriate instance of a network service to a requesting managed device. As such, load balancing may be used to share the responsibility of responding to requests. For example, a server within a management domain may be designated the primary server and may be responsible for receiving network service requests. Once the primary server has determined that its management domain should respond to the network service request, the primary server can then determine which other server on its management domain has the lightest load. The primary server may then forward the request to the server having the lightest load.

According to some embodiments of the invention, multiple servers within a management zone may be arranged in as a server cluster. Server clustering allows multiple servers to act in concert, appearing as a single virtual server to other network devices. If any of the servers in the cluster fail for any reason, the other servers in the cluster may take over. A cluster-enabled service may be run over the virtual server, enabling the service to remain in operation in the event one of the physical servers in the cluster fails.

According to some embodiments of the invention, a dedicated server may be provided for responding to network service requests. FIG. 4 depicts a system 400 in accordance with these embodiments. Management domains 110 a-n are described above in reference to FIG. 1. Dedicated server 410 may include a referral list 416 that includes information about the servers in management domains 110 a-n. Rather than transmitting a broadcast request to discover a network service, managed device 120 n may send a request directly to dedicated server 410.

Dedicated server 410 may include a dedicated service determination module 412 and a dedicated resource utilization module 414. Service determination module 412 may be configured to locate a desired network service in response to the receipt of a request from managed device 120 n. As described above, a network service request form managed device 120 n may or may not include identity information. If identity information is provided, service determination module 412 may forward the request directly to the identified server. If identity information is not included, service determination module 412 may forward the request to each server in its referral list until a response is received indicating the appropriate network service.

Resource utilization module 414 may be configured to receive response from servers in the referral list and to enable communication between the requesting managed device 120 n and the appropriate server 130 n. According to some embodiments of the invention, resource utilization module 414 may refer the requesting managed device 120 n to the appropriate server. In other embodiments, the dedicated server 410 may act as a proxy and resource utilization module 414 may facilitate the exchange of network service information between managed device 120 n and server 130 n.

Other embodiments, uses, and advantages of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This specification should be considered exemplary only, and the scope of the invention is accordingly intended to be limited only by the following claims. 

1. A system of providing access to a network service for a requesting managed device, comprising: a plurality of management domains communicatively coupled to each other via a network, wherein each management domain comprises: at least one managed device configured to issue a request for the network service; at least one server comprising an instance of the network service requested by the at least one managed device, in which the instance of the network service is responsible for communicating with one or more managed device within its management domain; wherein the at least one server further comprises a network service management module configured to determine whether it includes the instance of the network service required by the requesting device.
 2. The system of claim 1, wherein the at least one server further comprises: a referral list comprising information about one or more other servers in the other management domains.
 3. The system of claim 1, wherein the at least one managed device comprises: a service determination module configured to locate the network service by generating a network service request query; and a resource utilization module configured to receive and implement the requested network service.
 4. The system of claim 1, wherein the network service request is a broadcast request transmitted to the plurality of management domains, wherein at least one of the plurality of management domains does not include the requesting managed device.
 5. The system of claim 1, wherein the request for network service includes identity information comprising at least one of a unique attribute associated with the managed device, and indicia indicating membership in a particular management domain.
 6. The system of claim 1 wherein the network services management module is further configured to provide a response to the network service request.
 7. The system of claim 6 wherein at least one of the plurality of management domains comprises a primary server and at least one secondary server, wherein the primary server is configured to load balance network service request responses among the primary server and the at least one secondary server.
 8. The system of claim 1 wherein at least one of the plurality of management domains comprises two or more servers arranged as a cluster.
 9. A method of providing a correct instance of a network service to a requesting managed device, wherein the managed device is part of a network having a plurality of management domains belonging to a network, the method comprising: receiving, at a server located in one of the plurality of management domains, a request for a network service from the managed device; and determining whether the managed device is a member of the same management domain as the server; wherein, if the managed device is a member of the same management domain as the server, providing the requested network service and if the managed device is not a member of the same management domain as the server, forwarding the request to one or more additional servers located within the network.
 10. The method of claim 9, wherein determining whether the managed device is a member of the same management domain comprises determining whether the network service request includes identity information.
 11. The method of claim 9, wherein forwarding the request to one or more additional servers comprises consulting a referral list to determine the one or more additional servers.
 12. The method of claim 9, wherein the managed device is not a member of the same management domain as the server, the method further comprising: receiving a response from one of the one or more additional servers indicating the one server includes the correct instance of the network service; and forwarding the response to the managed device.
 13. The method of claim 12, wherein forwarding further comprises forwarding instructions to the managed device to send future requests to the identified server.
 14. The method of claim 10, wherein the request does not include identity information, the method further comprising: transmitting a default action to the managed device, wherein the default action is a request for additional information.
 15. The method of claim 10, wherein the request does not include identity information, the method further comprising: determining one or more run-time detectable parameters; and using, at least in part, the one or more run-time detectable parameters to determine the correct instance of the network service.
 16. The method of claim 15, wherein the run-time detectable parameters include a network address associated with the managed device.
 17. The method of claim 15, wherein the run-time detectable parameters include an amount of memory associated with the managed device.
 18. The method of claim 10, wherein the request includes identity information identified the appropriate management domain, and wherein the method further comprises: forwarding the request to the appropriate management domain.
 19. The method of claim 10, wherein the request includes identity information that does not identify the appropriate management domain, wherein the method further comprises: forwarding the request to each server in a referral list, wherein the referral list identifies other servers in the network.
 20. The method of claim 9, wherein the managed device is not a member of the same management domain as the server, wherein the method further comprises: receiving a response from one of the one or more additional servers in the network; and acting as a proxy between the one server and the managed device.
 21. A server configured to provide access to a network service for a managed device, wherein the managed device is a member of one of a plurality of management domains within a network, the server comprising: a referral list that includes information about one or more additional servers within the network, wherein each of the additional servers comprises an instance of the network service; a network service determination module configured to receive a network service request from the managed device and to forward the request to at least one of the one or more additional servers; and a resource determination module configured to receive a response from at least one of the one or more additional servers, wherein the response indicates whether the additional server comprises the appropriate instance of the network service.
 22. A method of providing a correct instance of a network service to a managed device, wherein the managed device is part of a network having a plurality of management domains belonging to a network, the method comprising: receiving, at a server, a network service request from the managed device; determining which of the plurality of management domains includes the correct instance of the network service; and forwarding the request to the determined management domain. 